/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.com.cotelasa.scp.dao.impl;

import java.io.Serializable;
import java.util.Date;
import org.apache.log4j.Logger;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import pe.com.cotelasa.common.dao.DaoImpl;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.dao.IDAOCierreInventario;
import pe.com.cotelasa.scp.dominio.common.ESTADO_REGISTRO;
import pe.com.cotelasa.scp.entidad.CierreInventario;

/**
 *
 * @author WINDOWS 7
 */
@Repository("daoCierreInventario")
public class DAOCierreInventarioImpl extends DaoImpl<CierreInventario, Integer> implements IDAOCierreInventario, Serializable{
    
    private static Logger logger = Logger.getLogger(DAOBancoImpl.class);
    @Autowired
    private SessionFactory sessionFactory;

    
    @Override
    public CierreInventario conseguirCierreInventarioPorFecha(Date fechaCierre) throws DAOException {
        try {
            return (CierreInventario) sessionFactory.getCurrentSession().createCriteria(CierreInventario.class)
                    .add(Restrictions.eq("fecCreacion", fechaCierre))
                    .add(Restrictions.eq("estadoRegistro", ESTADO_REGISTRO.ACTIVO.getValor()))
                    .uniqueResult();
        } catch (Exception e) {
            throw new DAOException(e.getMessage(), e);
        }
    }
    
}
